package org.jeecg.modules.act.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.math.BigDecimal;

/**
 * @Description: 活动表
 * @Author: jeecg-boot
 * @Date: 2019-09-04
 * @Version: V1.0
 */
@Data
@TableName("activity")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "activity对象", description = "活动表")
public class Activity {

    /**
     * ID
     */
    @TableId(type = IdType.UUID)
    @ApiModelProperty(value = "ID")
    private java.lang.String id;
    /**
     * 活动标题
     */
    @Excel(name = "活动标题", width = 15)
    @ApiModelProperty(value = "活动标题")
    private java.lang.String title;
    /**
     * 报名开始时间
     */
    @Excel(name = "报名开始时间", width = 15)
    @ApiModelProperty(value = "报名开始时间")
    private java.lang.String startTime;
    /**
     * 报名截至时间
     */
    @Excel(name = "报名截至时间", width = 15)
    @ApiModelProperty(value = "报名截至时间")
    private java.lang.String endTime;
    /**
     * 版本号
     */
    @Excel(name = "版本号", width = 15)
    @ApiModelProperty(value = "版本号")
    private java.lang.Integer version;
    /**
     * 最大报名人数
     */
    @Excel(name = "最大报名人数", width = 15)
    @ApiModelProperty(value = "最大报名人数")
    private java.lang.Integer maxUser;
    /**
     * 最大报名人数
     */
    @Excel(name = "当前报名人数", width = 15)
    @ApiModelProperty(value = "当前报名人数")
    private java.lang.Integer curUser;
    /**
     * 活动介绍图
     */
    @Excel(name = "活动介绍图", width = 15)
    @ApiModelProperty(value = "活动介绍图")
    private java.lang.String img;
    /**
     * 活动报名费
     */
    @Excel(name = "活动报名费", width = 15)
    @ApiModelProperty(value = "活动报名费")
    private BigDecimal pay;
    /**
     * 活动开始时间
     */
    @Excel(name = "活动开始时间", width = 15)
    @ApiModelProperty(value = "活动开始时间")
    private java.lang.String actStart;
    /**
     * 活动结束时间
     */
    @Excel(name = "活动结束时间", width = 15)
    @ApiModelProperty(value = "活动结束时间")
    private java.lang.String actEnd;
    /**
     * 活动地址
     */
    @Excel(name = "活动地址", width = 15)
    @ApiModelProperty(value = "活动地址")
    private java.lang.String address;
    /**
     * 活动地址经度
     */
    @Excel(name = "活动地址经度", width = 15)
    @ApiModelProperty(value = "活动地址经度")
    private java.lang.String longitude;
    /**
     * 活动地址维度
     */
    @Excel(name = "活动地址维度", width = 15)
    @ApiModelProperty(value = "活动地址维度")
    private java.lang.String latitude;
    /**
     * 分享人数
     */
    @Excel(name = "分享人数", width = 15)
    @ApiModelProperty(value = "分享人数")
    private java.lang.Integer share;
    /**
     * 联系人电话
     */
    @Excel(name = "联系人电话", width = 15)
    @ApiModelProperty(value = "联系人电话")
    private java.lang.String linkPhone;
    /**
     * 联系人姓名
     */
    @Excel(name = "联系人姓名", width = 15)
    @ApiModelProperty(value = "联系人姓名")
    private java.lang.String linkName;
    /**
     * 联系人微信
     */
    @Excel(name = "联系人微信", width = 15)
    @ApiModelProperty(value = "联系人微信")
    private java.lang.String linkWx;
    /**
     * 发起人id
     */
    @Excel(name = "发起人id", width = 15)
    @ApiModelProperty(value = "发起人id")
    private java.lang.String userId;
    /**
     * 创建人
     */
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**
     * 修改人
     */
    @Excel(name = "修改人", width = 15)
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
     * 修改时间
     */
    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
    /**
     * 删除标识0-正常,1-已删除
     */
    @Excel(name = "删除标识0-正常,1-已删除", width = 15)
    @ApiModelProperty(value = "删除标识0-正常,1-已删除")
    private java.lang.Integer delFlag;

    /**
     * 删除标识0-正常,1-已删除
     */
    @Excel(name = "状态 1 报名中 2结束报名 3取消报名", width = 15)
    @ApiModelProperty(value = "状态 1 报名中 2结束报名 3取消报名")
    private java.lang.Integer status;

    /**
     * 数据可见性 1管理员可见 2报名人员可见 3任何人可见
     */
    @Excel(name = "数据可见性 1管理员可见 2报名人员可见 3任何人可见", width = 15)
    @ApiModelProperty(value = "数据可见性 1管理员可见 2报名人员可见 3任何人可见")
    private java.lang.Integer permission;
    /**
     * 报名列表显示 1人数头像昵称 2人数头像 3人数 4什么都不显示
     */
    @Excel(name = "报名列表显示 1人数头像昵称 2人数头像 3人数 4什么都不显示", width = 15)
    @ApiModelProperty(value = "报名列表显示 1人数头像昵称 2人数头像 3人数 4什么都不显示")
    private java.lang.Integer showType;

    /**
     * 删除标识0-正常,1-已删除
     */
    @Excel(name = "是否需要审核0-是,1-否", width = 15)
    @ApiModelProperty(value = "是否需要审核0yes 1no")
    private java.lang.Integer isNeedCheck;

    /**
     * 删除标识0-正常,1-已删除
     */
    @Excel(name = "是否需要排队0-是,1-否", width = 15)
    @ApiModelProperty(value = "是否需要审核0yes 1no")
    private java.lang.Integer isLineUp;

    /**
     * 删除标识0-正常,1-已删除
     */
    @Excel(name = "是否限时优惠0-是,1-否", width = 15)
    @ApiModelProperty(value = "是否需要审核0yes 1no")
    private java.lang.Integer isDiscount;
}
